Method and System for Find Me/ Follow Me in IMS Through Editing of IMS Registrations at S-CSCF

ABSTRACT

A method for operation of a Serving Call Session Control Function (S-CSCF) server is provided. The method includes storing a plurality of records, each record corresponding to a respective one of a plurality of Internet Protocol Multimedia Services (IMS) terminals associated with a user, the plurality of records indicating an order of the IMS terminals for attempting to establishing a communication link with the user. The method also includes receiving an input from an application server indicating a request to change at least one of the records to indicate a different order, and changing the record. A system for operation of a Serving Call Session Control Function (S-CSCF) server, and a computer-readable medium having stored thereon computer-executable instructions, the computer-executable instructions causing a processor to perform a method for operation of a Serving Call Session Control Function (S-CSCF) server when executed, are provided.

FIELD OF THE INVENTION

The present application relates to VoIP, voice applications and advancedvoice features, and in particular relates to a system for a user tomanage an order of Internet Protocol Multimedia Subsystem (IMS)terminals for attempting to establishing a communication link with auser.

BACKGROUND OF THE INVENTION

Find Me/Follow Me refers to two technologies that, in conjunction,enable incoming phone calls to be received at different locations, ondifferent phones. “Find Me” refers to the ability to receive incomingcalls at any location. “Follow Me” refers to the ability to receivecalls at any number of designated phones, whether ringing all at once,or in sequence.

An Internet Protocol Multimedia Subsystem (IMS) is an architecturalframework for delivering Internet Protocol (IP) multimedia services. TheIMS defined by Third Generation Partnership Projects (3GPP and 3GPP2) isa technology designed to provide multimedia services across roamingboundaries and over diverse access technologies. An IMS terminal may bea computer, a netbook, a smart phone, a PDA, or any other appropriatedevice,

The Session Initiation Protocol (SIP) is a signaling protocol, widelyused for controlling multimedia communication sessions such as voice andvideo calls. A Proxy Call Session Control Function (P-CSCF) is a SIPproxy that is the first point of contact for an IMS terminal. It can belocated either in a visited network (in full IMS networks) or in a homenetwork (when the visited network is not IMS compliant yet).

A Serving Call Session Control Function (S-CSCF) is a central node of asignaling plane. It is a SIP server that performs session control. It islocated in the home network.

SUMMARY OF THE INVENTION

An exemplary embodiment enables a Customer Portal through which an IMSCustomer can choose the order in which different devices, on which thecustomer's Public User IDs are registered, are tried for IMS INVITES, orfor other initial SIP messages requiring a response. Attempts may belimited to those devices which have a particular desired capability(e.g. video). The user may manage different orders for different PublicUser Identities assigned to the customer, and may specify whensimultaneous attempts should be made.

A method for operation of a Serving Call Session Control Function(S-CSCF) server is provided. The method includes storing a plurality ofrecords, each record corresponding to a respective one of a plurality ofInternet Protocol Multimedia Services (IMS) terminals associated with auser, the plurality of records indicating an order of the IMS terminalsfor attempting to establishing a communication link with the user. Themethod also includes receiving an input from an application serverindicating a request to change at least one of the records to indicate adifferent order, and changing the record.

A system for operation of a Serving Call Session Control Function(S-CSCF) server is provided. A computer-readable medium having storedthereon computer-executable instructions, in which thecomputer-executable instructions cause a processor to perform a methodfor operation of a Serving Call Session Control Function (S-CSCF) serverwhen executed, is provided.

These and other advantages of the invention will be apparent to those ofordinary skill in the art by reference to the following detaileddescription and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary prior art system;

FIG. 2 illustrates a system according to an exemplary embodiment;

FIG. 3 illustrates a table representing information in a SIP Registrar;

FIG. 4 illustrates the table of FIG. 3 after changes are made;

FIG. 5 illustrates an exemplary user interface;

FIG. 6 illustrates the exemplary user interface of FIG. 5 after changesare made; and

FIG. 7 illustrates a method according to an exemplary embodiment; and

FIG. 8 illustrates a computer system according to an exemplaryembodiment.

DETAIL DESCRIPTION

IMS registrations must be made from the device on which the Public UserIdentity (PUID, which may be a telephone number) is being registered.This makes centralized management of an order of attempts forestablishing a communication link impossible. Standards allow order tobe controlled by a q value tied to the registration and also support acapabilities field. By standard methods, one has to return to eachdevice to change its q value or capabilities.

When a user registers a device in IMS, several parameters used inrouting a call are set in the SIP Registrar, which is part of theS-CSCF. The three most important parameters for routing are the path tothe user (based on the path used for registration), the capabilities(e.g. voice or video) and the priority (labeled a q value). A PublicUser Identity (PUID or IMPU) is the identity that is registered. Acontact address for a user agent on the device and the P-CSCF used toaccess it are based on the record route headers of the REGISTER Message.The q value indicates the order in which various registrations are triedby the S-CSCF. For q values, higher values are tried first, before lowervalues. If the S-CSCF is unsuccessful in setting up a session (e.g. noanswer), the next highest q value is tried. If multiple registrationshave the same q value, then the multiple devices are triedsimultaneously. A session is set up with whichever device answers first.If there is no specified q value in the REGISTER message, a defaultvalue of 1 is assigned.

A user may want to make changes in the order that devices are attemptedfor incoming sessions. For example, the user may have an office phone, acell phone and a home phone. The user may normally want attempts to bemade first to the office phone, then the home phone, then the cellphone. If the user is waiting for a call and doing work in another partof the house, the user may want the cell phone and the home phone toring simultaneously. Changes can be made to the SIP Registrar for aparticular device at which the PUID is registered by the user sending aREGISTER message from that particular device.

FIG. 1 shows a simplified view of the prior art registration. S-CSCF 130gets the user's credentials from an HSS (Home Subscriber Server) andsends a challenge to a user using cell phone 110 via P-CSCF 120. Theresponse would include authentication information sent from cell phone110 by message 150 to P-CSCF 120 and from P-CSCF 120 by message 170 toS-CSCF 130. In this manner, the authentication information would be putinto the SIP Registrar. If the authentication is successful, the S-CSCFupdates the SIP Registrar, informs the HSS that the user is nowregistered, and responds with 200 OK message 160 to P-CSCF 120, and fromP-CSCF 120 by 200K message 140 to cell phone 110. The only ways that theSIP Registrar may be changed based on current 3GPP specifications areby 1) sending the REGISTER message from the device at which theregistration is being made or 2) through an automatic de-registration bythe network. An automatic de-registration by the network usually occurswhen the Time-To-Live set by the REGISTER message has expired.

In order for the user to make the changes described above, at least twoof the q values would have to be changed. For example, if the q valuefor cell phone 110 was changed to 2 and the q value of the office phonewas changed to 1, the desired order would be achieved. This would meanthat the user would have to make changes from two devices. The fact thateach device is set separately would make it more difficult for the userto achieve their objective.

The present system allows new registrations for IMS devices to be madefrom a centralized server. The new registration approach involvesvarious network equipment, for example including the UA (User Agent),P-CSCF, I-CSCF (Interrogating CSCF), HSS and S-CSCF.

A customer is able to view all of the current registrations for any ofthe PUIDs belonging to the customer from a customer portal. The customermay be restricted from viewing the current registrations until after anauthentication procedure has been performed. The ability to see currentregistrations may be enabled by having the portal subscribe to a REGevent or through a third party registration. The REG event, whensubscribed to by a SIP Application Server (SIP AS), has the S-CSCF senda set of registration information to the server when the S-CSCF does aregistration. This is initiated by a SUBSCRIBE message from the SIP ASto the S-CSCF. A Third Party Registration is done by initial FilterCriteria in the Service Profile that includes the PUID that is beingregistered. A copy of the REGISTER Message is sent to the ApplicationServer designated in the initial Filter Criteria when there is asuccessful registration.

Q values may be used to show the current order of attempts, andcapabilities may be shown in order to indicate when attempts would orwould not be made. By changing the order of attempts or the capabilitiesof any registration, the authenticated and authorized customer will beable to request a change to the registrations. The customer portalenables editing of the q values and capabilities of the registration onthe S-CSCF.

This solution makes it easy for the customer to change the way thenetwork contacts him/her. The customer can easily change the order ofattempts (e.g. cell, office, lab, home, laptop) and can change whichdevices would be used for which capabilities (e.g. which devices toattempt to establish a link for video calls).

FIG. 2 illustrates a system according to an exemplary embodiment. System200 includes cell phone 210, which may alternatively be any other SIPdevice. System 200 also includes application server 220 and S-CSCF 230including a SIP Registrar. Cell phone 210 communicates messages 240 withapplication server 220. Application server 220 communicates with S-CSCF230 by messages 250. In system 200, a user may access application server220 from any computer, PDA or any other appropriate internet-enableddevice, including cell phone 210. Application server 220 mayauthenticate the user of cell phone 210 by any appropriate method. Afterauthentication, a user of cell phone 210 may reorder a SIP Registrar toprovide that the order of attempts to establish a communication linkwith the user follow the changed order in the SIP Registrar. Applicationserver 220 may communicate using message 250 with S-CSCF 230 to effectthe ordering in the SIP Registrar. After application server 220 has madethe changes in the SIP Registrar in S-CSCF 230 indicated by the commandsfrom cell phone 210 (or another internet-enabled device) incommunication 240, future sessions destined for the PUID whoseregistrations had been changed would follow the new rules. Inparticular, S-CSCF 230 will attempt to contact a user associated with aPUID using the order of devices in the SIP Registrar in S-CSCF 230, asedited by the user.

FIG. 3 illustrates table 300 representing information in a SIPRegistrar. The information included in table 300 may also be referred toherein as records. Table 300 depicts a SIP Registrar before changes aremade. Without the invention, changes would have to be made from eachindividual device, for instance the cell phone or office phone, in orderto make these changes. Table 300 includes column 310 identifying thePUID. All of the PUID's in column 310 are for the same PUID, in thiscase, PUID-1. In this manner, a person attempting to contact a user maydirect their attempt to establish a communication link to one PUID, andtable 300 representing a SIP Registrar will follow the order therein toestablish the communication link. Table 300 also includes column 320including P-CSCF indicating the proxy call session control session forthe particular row element. Table 300 also includes column 330, whichindicates a contact name, for instance cell phone, lab phone or officephone. Table 300 includes column 340, which indicates capabilities forthe particular device in each row. For instance, the cell phone and thefirst row of table 300 has both audio and video capabilities, whereasthe lab phone and office phone in rows 2 and 3, respectively, have onlyaudio capabilities. In this manner, an attempt to make a videoconference call may be directed to only the devices having videocapabilities. Table 300 also includes column 350, which includes a qvalue. The q value indicates the order of attempts for contacting theuser. Table 300 also includes column 360 which indicates the device. Forinstance, a person attempting to contact PUID-1 would cause the S-CSCFto attempt to contact the office phone first, as illustrated by thehigher q value of 3 in column 350. If the office phone was not answered,the S-CSCF would attempt to contact the lab phone since it has the nexthighest q value of 2 as shown in column 350. If the lab phone was notanswered, the S-CSCF would attempt to contact the cell phone due ithaving the next highest q value of 1 as shown in column 350.

The user could use one application server, accessible from any device,to make changes to the order in which sessions were attempted. FIG. 4illustrates the SIP Registrar table of FIG. 3 after changes are made tomake table 400. All of the columns in table 400 are the same identitiesas the columns in table 300. However, the q values for the differentrows have been changed. In particular, column 350, representing the qvalues, has been changed. In table 300, column 350 has value 1 in row 1,value 2 in row 2, and value 3 in row 3. In contrast, column 350 in table400 has value 2 in row 1, value 2 in row 2, and value 1 in row 3. Aperson attempting to contact the PUID-1 illustrated in table 400 wouldcause the S-CSCF to initially attempt to contact the cell phone and labphone simultaneously due to the higher, identical q value of 2 in column350. If no connection is established with either the cell phone or thelab phone, an attempt to establish a communication link with the officephone would occur due to it having the next lower q value of 1, as shownin column 350 of table 400 of FIG. 4.

FIG. 5 illustrates an exemplary user interface. User interface 500includes column 510 indicating an order of attempts and column 520indicates a device corresponding to each order of attempt. Inparticular, user interface 500 may be accessed by a communication deviceor any other web portal. A user may adjust the elements of column 520 tochange the order in which attempts are made. User interface 500indicates that the work phone would be attempted first, then the phonehome next, and then the cell phone last.

FIG. 6 illustrates the exemplary user interface of FIG. 5 after changesare made. After accessing a web portal via a computer, a netbook, asmart phone, a PDA, or any other appropriate device, a user accessinguser interface 500 may transform the information contained therein tothat shown in user interface 600 of FIG. 6. User interface 600 includescolumn 510 indicating an order of attempts and column 520 indicating afirst device corresponding to the attempt order. Additionally, userinterface 600 includes column 610 indicating a second devicecorresponding to the attempt order. Column 610 indicates a seconddevice, which is attempted at the same time as the device shown incolumn 520 for the same row number of column 510. In particular, cellphone may be attempted at the same time as the home phone on the firstattempt by a person to contact a PUID. If neither the home phone nor thecell phone are answered, the S-CSCF will attempt to contact the worknumber, as shown in row 2 of column 520. In summary, a user who hasinterfaced with user interface 500 in FIG. 5 to create the userinterface shown in FIG. 6 has reordered the elements to put the home andcell phone in the first position to be simultaneously attempted, and putthe work phone as the next device to attempt contact.

An exemplary embodiment allows editing of the registrations in an S-CSCFfrom an application server. New registrations from the device would notbe necessary, and the changes could be made based on service logic orbased on user input over a user interface. The process may be: 1) theuser would request from an application server the current registrationorder; 2) the application server would authenticate the user usingwhatever means are available—the user may be coming from any of thethree devices or from a different one; 3) the application server maytrack the user's registrations using third party registrations or bysubscribing to a REG event, and the application server may then returnthe current registration order to the user; 4) the user would view thecurrent order and make desired changes; 5) the changes would becommunicated to the application server; 6) the application server wouldmake changes to the q values in the SIP Registrar of the S-CSCF; and 7)the S-CSCF would confirm with the application server and the user agentsaffected that the changes had been made. Not all of these steps may benecessary.

FIG. 7 illustrates a method according to an exemplary embodiment. Themethod of FIG. 7 starts at start circle 700, and proceeds to operation710, which indicates to display a table of a plurality of internetprotocol multimedia services terminals associated with the user. Thetable indicates an order of the IMS terminals for attempting toestablish a communication link with the user. From operation 710, theflow proceeds to operation 720, which indicates to receive inputs from auser interface indicating a request to change the order of the table.From operation 720, the flow proceeds to operation 730, which indicatesto change the order of the table. The table may be on a differentnetwork element, the S-CSCF, from the application server that receivesthe inputs from the user. From operation 730, the flow proceeds tooperation 740, which indicates to send at least a portion of the tableto each of the plurality of IMS terminals associated with the user. Fromoperation 740, the flow proceeds to end circle 750.

The method may also include sending at least a portion of the records toeach of the plurality of IMS terminals associated with the user. Theterminals may preferably know that their own registration has changed.The actual changes take place in the SIP Registrar of the S-CSCF. Atleast one of the records may indicate a media capability of at least oneof the plurality of IMS terminals associated with the user. The methodmay include authenticating the user by determining that the request isreceived from one of the plurality of IMS terminals associated with theuser. The method may include authenticating the user by tracking a userregistration using a third party registration and subscribing by theapplication server to a REG event. The plurality of records include aSIP registrar and each record includes a q value for a respective one ofthe IMS terminals associated with the user, the q value indicating theorder.

FIG. 8 is a high level block diagram of a computer in accordance with anembodiment of the present invention. Computer 800 can, for example,operate as elements 110, 120 or 130 of FIG. 1 or elements 210, 220 or230 of FIG. 2. Additionally, computer 800 can perform the stepsdescribed above (e.g., with respect to FIG. 7). Computer 800 containsprocessor 810 which controls the operation of computer 800 by executingcomputer program instructions which define such operation, and which maybe stored on a computer-readable recording medium. The computer programinstructions may be stored in storage 820 (e.g., a magnetic disk, adatabase) and loaded into memory 830 when execution of the computerprogram instructions is desired. Thus, the computer operation will bedefined by computer program instructions stored in memory 830 and/orstorage 820 and computer 800 will be controlled by processor 810executing the computer program instructions. Computer 800 also includesone or more network interfaces 840 for communicating with other devices,for example other computers, servers, or websites. Network interface 840may, for example, be a local network, a wireless network, an intranet,or the Internet. Computer 800 also includes input/output 850, whichrepresents devices which allow for user interaction with the computer800 (e.g., display, keyboard, mouse, speakers, buttons, webcams, etc.).One skilled in the art will recognize that an implementation of anactual computer will contain other components as well, and that FIG. 8is a high level representation of some of the components of such acomputer for illustrative purposes.

The foregoing Detailed Description is to be understood as being in everyrespect illustrative and exemplary, but not restrictive, and the scopeof the invention disclosed herein is not to be determined from theDetailed Description, but rather from the claims as interpretedaccording to the full breadth permitted by the patent laws. It is to beunderstood that the embodiments shown and described herein are onlyillustrative of the principles of the present invention and that variousmodifications may be implemented by those skilled in the art withoutdeparting from the scope and spirit of the invention.

1. A method for operation of a Serving Call Session Control Function(S-CSCF) server, comprising: storing a plurality of records, each recordcorresponding to a respective one of a plurality of Internet ProtocolMultimedia Services (IMS) terminals associated with a user, theplurality of records indicating an order of the IMS terminals forattempting to establishing a communication link with the user; receivingan input from an application server indicating a request to change atleast one of the records to indicate a different order; and changing therecord.
 2. The method of claim 1, further comprising sending at least aportion of the records to each of the plurality of IMS terminalsassociated with the user.
 3. The method of claim 1, wherein at least oneof the records indicates a media capability of at least one of theplurality of IMS terminals associated with the user.
 4. The method ofclaim 1, further comprising authenticating the user by determining thatthe request is received from one of the plurality of IMS terminalsassociated with the user.
 5. The method of claim 1, further comprisingauthenticating the user by tracking a user registration using a thirdparty registration and subscribing by the application server to a REGevent.
 6. The method of claim 1, wherein the plurality of recordsinclude a SIP registrar and each record includes a q value for arespective one of the IMS terminals associated with the user, the qvalue indicating the order.
 7. A system for operation of a Serving CallSession Control Function (S-CSCF) server, comprising: means for storinga plurality of records, each record corresponding to a respective one ofa plurality of Internet Protocol Multimedia Services (IMS) terminalsassociated with a user, the plurality of records indicating an order ofthe IMS terminals for attempting to establishing a communication linkwith the user; means for receiving an input from an application serverindicating a request to change at least one of the records to indicate adifferent order; and means for changing the record.
 8. The system ofclaim 7, further comprising means for sending at least a portion of therecords to each of the plurality of IMS terminals associated with theuser.
 9. The system of claim 7, wherein at least one of the recordsindicates a media capability of at least one of the plurality of IMSterminals associated with the user.
 10. The system of claim 7, furthercomprising means for authenticating the user by determining that therequest is received from one of the plurality of IMS terminalsassociated with the user.
 11. The system of claim 7, further comprisingmeans for authenticating the user by tracking a user registration usinga third party registration and subscribing by the application server toa REG event.
 12. The system of claim 7, wherein the plurality of recordsinclude a SIP registrar and each record includes a q value for arespective one of the IMS terminals associated with the user, the qvalue indicating the order.
 13. A computer-readable medium having storedthereon computer-executable instructions, the computer-executableinstructions causing a processor to perform a method for operation of aServing Call Session Control Function (S-CSCF) server when executed, themethod comprising: storing a plurality of records, each recordcorresponding to a respective one of a plurality of Internet ProtocolMultimedia Services (IMS) terminals associated with a user, theplurality of records indicating an order of the IMS terminals forattempting to establishing a communication link with the user; receivingan input from an application server indicating a request to change atleast one of the records to indicate a different order; and changing therecord.
 14. The computer-readable medium of claim 13, the method furthercomprising sending at least a portion of the records to each of theplurality of IMS terminals associated with the user.
 15. Thecomputer-readable medium of claim 13, wherein at least one of therecords indicates a media capability of at least one of the plurality ofIMS terminals associated with the user.
 16. The computer-readable mediumof claim 13, the method further comprising authenticating the user bydetermining that the request is received from one of the plurality ofIMS terminals associated with the user.
 17. The computer-readable mediumof claim 13, the method further comprising authenticating the user bytracking a user registration using a third party registration andsubscribing by the application server to a REG event.
 18. Thecomputer-readable medium of claim 13, wherein the plurality of recordsinclude a SIP registrar and each record includes a q value for arespective one of the IMS terminals associated with the user, the qvalue indicating the order.